package py.edu.ucsa.sisalews.model.services.impl;

import py.edu.ucsa.sisalews.persistence.dao.UsuarioDAO;
import py.edu.ucsa.sisalews.persistence.dto.UsuarioDTO;
import py.edu.ucsa.sisalews.services.util.JSONTranslator;

public class UsuarioServiceImpl {

	private UsuarioDAO usuarioDAO;

	
	public UsuarioDAO getUsuarioDAO() {
		return usuarioDAO;
	}

	public void setUsuarioDAO(UsuarioDAO usuarioDAO) {
		this.usuarioDAO = usuarioDAO;
	}

	public String insertar(String usuario){
		JSONTranslator<UsuarioDTO> translator = new JSONTranslator<UsuarioDTO>(UsuarioDTO.class);
		UsuarioDTO usuarioDTO = translator.fromJSON(usuario);
		usuarioDAO.insertar(usuarioDTO);
		return translator.toJSON(usuarioDTO);
	}
	
	public void eliminar(Integer cedula){
		usuarioDAO.eliminar(cedula);
	}
	
	public String actualizar(String usuario) {
		JSONTranslator<UsuarioDTO> translator = new JSONTranslator<UsuarioDTO>(UsuarioDTO.class);
		UsuarioDTO usuarioDTO = translator.fromJSON(usuario);
		usuarioDAO.update(usuarioDTO);
		return translator.toJSON(usuarioDTO);
	}
	
	public String getUsuarioByCedula(Integer cedula){
		JSONTranslator<UsuarioDTO> translator = new JSONTranslator<UsuarioDTO>(UsuarioDTO.class);
		return translator.toJSON(usuarioDAO.getUsuarioByCedula(cedula));
	}
	
	public String getUsuarios(){
		JSONTranslator<UsuarioDTO> translator = new JSONTranslator<UsuarioDTO>(UsuarioDTO.class);
		return translator.fromList(usuarioDAO.getUsuarios());
	}
	
	public String getUsuarioByNombre(String nombre){
		JSONTranslator<UsuarioDTO> translator = new JSONTranslator<UsuarioDTO>(UsuarioDTO.class);		
		return translator.fromList(usuarioDAO.getUsuarioByNombre(nombre));
	}
	
	public String getUsuarioByApellido(String apellido){
		JSONTranslator<UsuarioDTO> translator = new JSONTranslator<UsuarioDTO>(UsuarioDTO.class);	
		return translator.fromList(usuarioDAO.getUsuarioByApellido(apellido));
	}
}
